ZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NwdS9hcm0xMTM2L3N0YXJ0LlMgYi9hcmNoL2FybS9jcHUvYXJtMTEzNi9zdGFydC5TCmluZGV4IGY1YTExMzQuLmMwZGI5NmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NwdS9hcm0xMTM2L3N0YXJ0LlMKKysrIGIvYXJjaC9hcm0vY3B1L2FybTExMzYvc3RhcnQuUwpAQCAtMyw4ICszLDggQEAKICAqCiAgKiAgQ29weXJpZ2h0IChjKSAyMDA0CVRleGFzIEluc3RydW1lbnRzIDxyLXdvb2RydWZmMkB0aS5jb20+CiAgKgotICogIENvcHlyaWdodCAoYykgMjAwMQlNYXJpdXMgR3L2Z2VyIDxtYWdAc3lzZ28uZGU+Ci0gKiAgQ29weXJpZ2h0IChjKSAyMDAyCUFsZXggWvxwa2UgPGF6dUBzeXNnby5kZT4KKyAqICBDb3B5cmlnaHQgKGMpIDIwMDEJTWFyaXVzIEdyw7ZnZXIgPG1hZ0BzeXNnby5kZT4KKyAqICBDb3B5cmlnaHQgKGMpIDIwMDIJQWxleCBaw7xwa2UgPGF6dUBzeXNnby5kZT4KICAqICBDb3B5cmlnaHQgKGMpIDIwMDIJR2FyeSBKZW5uZWpvaG4gPGdhcnlqQGRlbnguZGU+CiAgKiAgQ29weXJpZ2h0IChjKSAyMDAzCVJpY2hhcmQgV29vZHJ1ZmYgPHItd29vZHJ1ZmYyQHRpLmNvbT4KICAqICBDb3B5cmlnaHQgKGMpIDIwMDMJS3NoaXRpaiA8a3NoaXRpakB0aS5jb20+CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jcHUvYXJtNzIwdC9zdGFydC5TIGIvYXJjaC9hcm0vY3B1L2FybTcyMHQvc3RhcnQuUwppbmRleCBlY2I5MmVmLi5lOWEwOTRmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jcHUvYXJtNzIwdC9zdGFydC5TCisrKyBiL2FyY2gvYXJtL2NwdS9hcm03MjB0L3N0YXJ0LlMKQEAgLTEsOCArMSw4IEBACiAvKgogICogIGFybWJvb3QgLSBTdGFydHVwIENvZGUgZm9yIEFSTTcyMCBDUFUtY29yZQogICoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMDEJTWFyaXVzIEdy9mdlciA8bWFnQHN5c2dvLmRlPgotICogIENvcHlyaWdodCAoYykgMjAwMglBbGV4IFr8cGtlIDxhenVAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAxCU1hcml1cyBHcsO2Z2VyIDxtYWdAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAyCUFsZXggWsO8cGtlIDxhenVAc3lzZ28uZGU+CiAgKgogICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICAqIHByb2plY3QuCmRpZmYgLS1naXQgYS9hcmNoL2FybS9jcHUvYXJtOTIwdC9zdGFydC5TIGIvYXJjaC9hcm0vY3B1L2FybTkyMHQvc3RhcnQuUwppbmRleCAwMDkwZjg5Li5jMzA4NDIwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jcHUvYXJtOTIwdC9zdGFydC5TCisrKyBiL2FyY2gvYXJtL2NwdS9hcm05MjB0L3N0YXJ0LlMKQEAgLTEsOCArMSw4IEBACiAvKgogICogIGFybWJvb3QgLSBTdGFydHVwIENvZGUgZm9yIEFSTTkyMCBDUFUtY29yZQogICoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMDEJTWFyaXVzIEdy9mdlciA8bWFnQHN5c2dvLmRlPgotICogIENvcHlyaWdodCAoYykgMjAwMglBbGV4IFr8cGtlIDxhenVAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAxCU1hcml1cyBHcsO2Z2VyIDxtYWdAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAyCUFsZXggWsO8cGtlIDxhenVAc3lzZ28uZGU+CiAgKiAgQ29weXJpZ2h0IChjKSAyMDAyCUdhcnkgSmVubmVqb2huIDxnYXJ5akBkZW54LmRlPgogICoKICAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCmRpZmYgLS1naXQgYS9hcmNoL2FybS9jcHUvYXJtOTI1dC9zdGFydC5TIGIvYXJjaC9hcm0vY3B1L2FybTkyNXQvc3RhcnQuUwppbmRleCAyM2NjZjMxLi4xN2NmNWRjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jcHUvYXJtOTI1dC9zdGFydC5TCisrKyBiL2FyY2gvYXJtL2NwdS9hcm05MjV0L3N0YXJ0LlMKQEAgLTUsOCArNSw4IEBACiAgKgogICogIC0tLS0tIEFkYXB0ZWQgZm9yIE9NQVAxNTEwIGZyb20gQVJNOTIwIGNvZGUgLS0tLS0tCiAgKgotICogIENvcHlyaWdodCAoYykgMjAwMQlNYXJpdXMgR3L2Z2VyIDxtYWdAc3lzZ28uZGU+Ci0gKiAgQ29weXJpZ2h0IChjKSAyMDAyCUFsZXggWvxwa2UgPGF6dUBzeXNnby5kZT4KKyAqICBDb3B5cmlnaHQgKGMpIDIwMDEJTWFyaXVzIEdyw7ZnZXIgPG1hZ0BzeXNnby5kZT4KKyAqICBDb3B5cmlnaHQgKGMpIDIwMDIJQWxleCBaw7xwa2UgPGF6dUBzeXNnby5kZT4KICAqICBDb3B5cmlnaHQgKGMpIDIwMDIJR2FyeSBKZW5uZWpvaG4gPGdhcnlqQGRlbnguZGU+CiAgKiAgQ29weXJpZ2h0IChjKSAyMDAzCVJpY2hhcmQgV29vZHJ1ZmYgPHItd29vZHJ1ZmYyQHRpLmNvbT4KICAqICBDb3B5cmlnaHQgKGMpIDIwMDMJS3NoaXRpagkgPGtzaGl0aWpAdGkuY29tPgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY3B1L2FybTkyNmVqcy9vbWFwL3Jlc2V0LlMgYi9hcmNoL2FybS9jcHUvYXJtOTI2ZWpzL29tYXAvcmVzZXQuUwppbmRleCA0YjIwNzU2Li44MzIxMDcyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jcHUvYXJtOTI2ZWpzL29tYXAvcmVzZXQuUworKysgYi9hcmNoL2FybS9jcHUvYXJtOTI2ZWpzL29tYXAvcmVzZXQuUwpAQCAtNSw4ICs1LDggQEAKICAqCiAgKiAgLS0tLS0gQWRhcHRlZCBmb3IgT01BUDE2MTAgT01BUDczMCBmcm9tIEFSTTkyNXQgY29kZSAtLS0tLS0KICAqCi0gKiAgQ29weXJpZ2h0IChjKSAyMDAxCU1hcml1cyBHcvZnZXIgPG1hZ0BzeXNnby5kZT4KLSAqICBDb3B5cmlnaHQgKGMpIDIwMDIJQWxleCBa/HBrZSA8YXp1QHN5c2dvLmRlPgorICogIENvcHlyaWdodCAoYykgMjAwMQlNYXJpdXMgR3LDtmdlciA8bWFnQHN5c2dvLmRlPgorICogIENvcHlyaWdodCAoYykgMjAwMglBbGV4IFrDvHBrZSA8YXp1QHN5c2dvLmRlPgogICogIENvcHlyaWdodCAoYykgMjAwMglHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KICAqICBDb3B5cmlnaHQgKGMpIDIwMDMJUmljaGFyZCBXb29kcnVmZiA8ci13b29kcnVmZjJAdGkuY29tPgogICogIENvcHlyaWdodCAoYykgMjAwMwlLc2hpdGlqIDxrc2hpdGlqQHRpLmNvbT4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NwdS9hcm05MjZlanMvc3RhcnQuUyBiL2FyY2gvYXJtL2NwdS9hcm05MjZlanMvc3RhcnQuUwppbmRleCA2MzZiZTc1Li4xNmUzNWMyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jcHUvYXJtOTI2ZWpzL3N0YXJ0LlMKKysrIGIvYXJjaC9hcm0vY3B1L2FybTkyNmVqcy9zdGFydC5TCkBAIC01LDggKzUsOCBAQAogICoKICAqICAtLS0tLSBBZGFwdGVkIGZvciBPTUFQMTYxMCBPTUFQNzMwIGZyb20gQVJNOTI1dCBjb2RlIC0tLS0tLQogICoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMDEJTWFyaXVzIEdy9mdlciA8bWFnQHN5c2dvLmRlPgotICogIENvcHlyaWdodCAoYykgMjAwMglBbGV4IFr8cGtlIDxhenVAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAxCU1hcml1cyBHcsO2Z2VyIDxtYWdAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAyCUFsZXggWsO8cGtlIDxhenVAc3lzZ28uZGU+CiAgKiAgQ29weXJpZ2h0IChjKSAyMDAyCUdhcnkgSmVubmVqb2huIDxnYXJ5akBkZW54LmRlPgogICogIENvcHlyaWdodCAoYykgMjAwMwlSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+CiAgKiAgQ29weXJpZ2h0IChjKSAyMDAzCUtzaGl0aWogPGtzaGl0aWpAdGkuY29tPgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY3B1L2FybTkyNmVqcy92ZXJzYXRpbGUvcmVzZXQuUyBiL2FyY2gvYXJtL2NwdS9hcm05MjZlanMvdmVyc2F0aWxlL3Jlc2V0LlMKaW5kZXggNGIyMDc1Ni4uODMyMTA3MiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY3B1L2FybTkyNmVqcy92ZXJzYXRpbGUvcmVzZXQuUworKysgYi9hcmNoL2FybS9jcHUvYXJtOTI2ZWpzL3ZlcnNhdGlsZS9yZXNldC5TCkBAIC01LDggKzUsOCBAQAogICoKICAqICAtLS0tLSBBZGFwdGVkIGZvciBPTUFQMTYxMCBPTUFQNzMwIGZyb20gQVJNOTI1dCBjb2RlIC0tLS0tLQogICoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMDEJTWFyaXVzIEdy9mdlciA8bWFnQHN5c2dvLmRlPgotICogIENvcHlyaWdodCAoYykgMjAwMglBbGV4IFr8cGtlIDxhenVAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAxCU1hcml1cyBHcsO2Z2VyIDxtYWdAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAyCUFsZXggWsO8cGtlIDxhenVAc3lzZ28uZGU+CiAgKiAgQ29weXJpZ2h0IChjKSAyMDAyCUdhcnkgSmVubmVqb2huIDxnYXJ5akBkZW54LmRlPgogICogIENvcHlyaWdodCAoYykgMjAwMwlSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+CiAgKiAgQ29weXJpZ2h0IChjKSAyMDAzCUtzaGl0aWogPGtzaGl0aWpAdGkuY29tPgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY3B1L2FybTk0NmVzL3N0YXJ0LlMgYi9hcmNoL2FybS9jcHUvYXJtOTQ2ZXMvc3RhcnQuUwppbmRleCAwOTM3NGQ1Li44OWJhNTU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jcHUvYXJtOTQ2ZXMvc3RhcnQuUworKysgYi9hcmNoL2FybS9jcHUvYXJtOTQ2ZXMvc3RhcnQuUwpAQCAtNSw4ICs1LDggQEAKICAqCiAgKiAgLS0tLS0gQWRhcHRlZCBmb3IgT01BUDE2MTAgT01BUDczMCBmcm9tIEFSTTkyNXQgY29kZSAtLS0tLS0KICAqCi0gKiAgQ29weXJpZ2h0IChjKSAyMDAxCU1hcml1cyBHcvZnZXIgPG1hZ0BzeXNnby5kZT4KLSAqICBDb3B5cmlnaHQgKGMpIDIwMDIJQWxleCBa/HBrZSA8YXp1QHN5c2dvLmRlPgorICogIENvcHlyaWdodCAoYykgMjAwMQlNYXJpdXMgR3LDtmdlciA8bWFnQHN5c2dvLmRlPgorICogIENvcHlyaWdodCAoYykgMjAwMglBbGV4IFrDvHBrZSA8YXp1QHN5c2dvLmRlPgogICogIENvcHlyaWdodCAoYykgMjAwMglHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KICAqICBDb3B5cmlnaHQgKGMpIDIwMDMJUmljaGFyZCBXb29kcnVmZiA8ci13b29kcnVmZjJAdGkuY29tPgogICogIENvcHlyaWdodCAoYykgMjAwMwlLc2hpdGlqIDxrc2hpdGlqQHRpLmNvbT4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NwdS9hcm1faW50Y20vc3RhcnQuUyBiL2FyY2gvYXJtL2NwdS9hcm1faW50Y20vc3RhcnQuUwppbmRleCAxYTkzMjc3Li5iYTk2MjA4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jcHUvYXJtX2ludGNtL3N0YXJ0LlMKKysrIGIvYXJjaC9hcm0vY3B1L2FybV9pbnRjbS9zdGFydC5TCkBAIC01LDggKzUsOCBAQAogICoKICAqICAtLS0tLSBBZGFwdGVkIGZvciBPTUFQMTYxMCBPTUFQNzMwIGZyb20gQVJNOTI1dCBjb2RlIC0tLS0tLQogICoKLSAqICBDb3B5cmlnaHQgKGMpIDIwMDEJTWFyaXVzIEdy9mdlciA8bWFnQHN5c2dvLmRlPgotICogIENvcHlyaWdodCAoYykgMjAwMglBbGV4IFr8cGtlIDxhenVAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAxCU1hcml1cyBHcsO2Z2VyIDxtYWdAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAyCUFsZXggWsO8cGtlIDxhenVAc3lzZ28uZGU+CiAgKiAgQ29weXJpZ2h0IChjKSAyMDAyCUdhcnkgSmVubmVqb2huIDxnYXJ5akBkZW54LmRlPgogICogIENvcHlyaWdodCAoYykgMjAwMwlSaWNoYXJkIFdvb2RydWZmIDxyLXdvb2RydWZmMkB0aS5jb20+CiAgKiAgQ29weXJpZ2h0IChjKSAyMDAzCUtzaGl0aWogPGtzaGl0aWpAdGkuY29tPgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY3B1L2l4cC9ucGUvaW5jbHVkZS9JeEF0bWRBY2NDdHJsLmggYi9hcmNoL2FybS9jcHUvaXhwL25wZS9pbmNsdWRlL0l4QXRtZEFjY0N0cmwuaAppbmRleCBlMjIzMDQ5Li41MGVmNTgyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jcHUvaXhwL25wZS9pbmNsdWRlL0l4QXRtZEFjY0N0cmwuaAorKysgYi9hcmNoL2FybS9jcHUvaXhwL25wZS9pbmNsdWRlL0l4QXRtZEFjY0N0cmwuaApAQCAtOTc1LDcgKzk3NSw3IEBACiAgICAgKiBAbGkgMSAtIEdlbmVyYXRlIEhFQy4KICAgICAqIEBsaSAwIC0gRGlzYWJsZSBIRUMgZ2VuZXJhdGlvbi4KICAgICAqLwotICAgIHVuc2lnbmVkIGludCB0eENPU0VUOjE7ICAgIC8qKjwgWzI0XSBJZiBlbmFibGVkIHRoZSBIRUMgaXMgRXhjbHVzaXZlLU9SxmVkIHdpdGggdGhlIHZhbHVlIDB4NTUgYmVmb3JlCisgICAgdW5zaWduZWQgaW50IHR4Q09TRVQ6MTsgICAgLyoqPCBbMjRdIElmIGVuYWJsZWQgdGhlIEhFQyBpcyBFeGNsdXNpdmUtT1InZWQgd2l0aCB0aGUgdmFsdWUgMHg1NSBiZWZvcmUKICAgKiBiZWluZyBwcmVzZW50ZWQgb24gdGhlIFV0b3BpYSBidXMuCiAgICogQGxpIDEgLSBFbmFibGUgSEVDIEV4T1Igd2l0aCB2YWx1ZSAweDU1CiAgICogQGxpIDAgLSBVc2UgZ2VuZXJhdGVkIEhFQyB2YWx1ZS4KQEAgLTEzMDIsNyArMTMwMiw3IEBACiAgICAgQGxpIDEgLSBIRUMgY2hlY2tpbmcgZW5hYmxlZAogICAgIEBsaSAwIC0gSEVDIGNoZWNraW5nIGRpc2FibGVkICovCiAKLSAgICB1bnNpZ25lZCBpbnQgcnhDT1NFVDoxOyAgLyoqPCBbMjVdIElmIGVuYWJsZWQgdGhlIEhFQyBpcyBFeGNsdXNpdmUtT1LGZWQgd2l0aCB0aGUgdmFsdWUgMHg1NQorICAgIHVuc2lnbmVkIGludCByeENPU0VUOjE7ICAvKio8IFsyNV0gSWYgZW5hYmxlZCB0aGUgSEVDIGlzIEV4Y2x1c2l2ZS1PUidlZCB3aXRoIHRoZSB2YWx1ZSAweDU1CiAgIGJlZm9yZSBiZWluZyB0ZXN0ZWQgd2l0aCB0aGUgcmVjZWl2ZWQgSEVDLgogICBAbGkgMSAtIEVuYWJsZSBIRUMgRXhPUiB3aXRoIHZhbHVlIDB4NTUuCiAgICAgQGxpIDAgLSBVc2UgZ2VuZXJhdGVkIEhFQyB2YWx1ZS4qLwpAQCAtMTMyMCw5ICsxMzIwLDkgQEAKIAogICAgIHVuc2lnbmVkIGludCByeEhhc2hFbmJHRkM6MTsgICAgICAvKio8IFsxNV0gU3BlY2lmaWVzIGlmIHRoZSBWUEkgZmllbGQgWzExOjhdL0dGQyBmaWVsZCBzaG91bGQgYmUKICAgICAgIGluY2x1ZGVkIGluIHRoZSBIYXNoIGRhdGEgaW5wdXQgb3IgaWYgdGhlIGJpdHMgc2hvdWxkIGJlIHBhZGRlZAotICAgICAgd2l0aCAxxmIwLgorICAgICAgd2l0aCAxJ2IwLgogICAgICAgQGxpIDEgLSBWUEkgWzExOjhdL0dGQyBmaWVsZCB2YWxpZCBhbmQgdXNlZCBpbiBIYXNoIHJlc2lkdWUgY2FsY3VsYXRpb24uCi0gICAgICBAbGkgMCAtIFZQSSBbMTE6OF0vR0ZDIGZpZWxkIHBhZGRlZCB3aXRoIDHGYjAgKi8KKyAgICAgIEBsaSAwIC0gVlBJIFsxMTo4XS9HRkMgZmllbGQgcGFkZGVkIHdpdGggMSdiMCAqLwogCiAgICAgdW5zaWduZWQgaW50IHJ4UHJlSGFzaDoxOyAvKio8IFsxNF0gRW5hYmxlIFByZS1oYXNoIHZhbHVlIGdlbmVyYXRpb24uIFNwZWNpZmllcyBpZiB0aGUKICBpbmNvbWluZyBjZWxsIGRhdGEgc2hvdWxkIGJlIHByZS1oYXNoZWQgdG8gYWxsb3cgVlBJL1ZDSSBoZWFkZXIgbG9vay11cApAQCAtMTQ4OSwxMCArMTQ4OSwxMCBAQAogICAgIHVuc2lnbmVkIGludCBpbnZhbGlkU2l6ZU92ckludDoxOyAgIC8qKjwgWzldIEVuYWJsZSBDQkkgUmVjZWl2ZSBTdGF0dXMgQ29uZGl0aW9uIGlmIHRoZSBJbnZhbGlkU2l6ZUNvdW50CiAgICAgIHJlZ2lzdGVyIG92ZXJmbG93cy4KICAgICAgQGxpIDEgLSBDQkkgUmVjZWl2ZSBTdGF0dXMgQ29uZGl0aW9uIGFzc2VydGVkLgotICAgICAgQGxpuDAgLSBObyBDQkkgUmVjZWl2ZSBTdGF0dXMgYXNzZXJ0ZWQgKi8KKyAgICAgQGxpIDAgLSBObyBDQkkgUmVjZWl2ZSBTdGF0dXMgYXNzZXJ0ZWQgKi8KIAogICAgIHVuc2lnbmVkIGludCByeElkbGVPdnJJbnQ6MTsgICAgICAvKio8IFs4XSBFbmFibGUgQ0JJIFJlY2VpdmUgU3RhdHVzIENvbmRpdGlvbiBpZiB0aGUgUnhJZGxlQ291bnQgb3ZlcmZsb3dzLgotICAgICAgQGxpICAgIDEgLSBDQkkgUmVjZWl2ZSBDb25kaXRpb24gYXNzZXJ0ZWQuCisgICAgICBAbGkgMSAtIENCSSBSZWNlaXZlIENvbmRpdGlvbiBhc3NlcnRlZC4KICAgICAgIEBsaSAwIC0gTm8gQ0JJIFJlY2VpdmUgQ29uZGl0aW9uIGFzc2VydGVkICovCiAKICAgICB1bnNpZ25lZCBpbnQgcmVzZXJ2ZWRfMjozOyAgICAvKio8IFs3OjVdIFRoZXNlIGJpdHMgYXJlIGFsd2F5cyAwICovCkBAIC0xNjc5LDcgKzE2NzksNyBAQAogICAgIHVuc2lnbmVkIGludCB0eFJlc2V0OjE7ICAgLyoqPCBbMjVdIFJlc2V0cyB0aGUgVXRvcGlhIENvcHJvY2Vzc29yIHRyYW5zbWl0IG1vZHVsZSB0byBhIGtub3duIHN0YXRlLgogICAgICogQGxpIE5vdGU6IEFsbCB0cmFuc21pdCBjb25maWd1cmF0aW9uIGFuZCBzdGF0dXMgcmVnaXN0ZXJzIHdpbGwgYmUgcmVzZXQKICAgICAqIHRvIHRoZWlyIHJlc2V0IHZhbHVlcy4KLSAgICAqIEBsaSAwIC0gTm9ybWFsIG9wZXJhdGluZyBtb2RluAorICAgICogQGxpIDAgLSBOb3JtYWwgb3BlcmF0aW5nIG1vZGUKICAgICAqIEBsaSAxIC0gUmVzZXQgdHJhbnNtaXQgbW9kdWxlcwogICAgICovCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NwdS9peHAvbnBlL2luY2x1ZGUvSXhPc2FsLmggYi9hcmNoL2FybS9jcHUvaXhwL25wZS9pbmNsdWRlL0l4T3NhbC5oCmluZGV4IGIyYTkzYTUuLjRjYTJlNDUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NwdS9peHAvbnBlL2luY2x1ZGUvSXhPc2FsLmgKKysrIGIvYXJjaC9hcm0vY3B1L2l4cC9ucGUvaW5jbHVkZS9JeE9zYWwuaApAQCAtMjUwLDcgKzI1MCw3IEBACiAgKgogICogQGJyaWVmIFNlbGVjdGl2ZWx5IGRpc2FibGVzIGludGVycnVwdHMKICAqCi0gKiBAcGFyYW0gaXJxTGV2ZWwgrSBuZXcgaW50ZXJydXB0IGxldmVsCisgKiBAcGFyYW0gaXJxTGV2ZWwgLSBuZXcgaW50ZXJydXB0IGxldmVsCiAgKgogICogRGlzYWJsZXMgdGhlIGludGVycnVwdHMgYmVsb3cgdGhlIHNwZWNpZmllZCBpbnRlcnJ1cHQgbGV2ZWwgCiAgKiAKQEAgLTI2OSw3ICsyNjksNyBAQAogICoKICAqIEBicmllZiBFbmFibGVzIGFuIGludGVycnVwdCBsZXZlbAogICoKLSAqIEBwYXJhbSBpcnFMZXZlbCCtIGludGVycnVwdCBsZXZlbCB0byBlbmFibGUKKyAqIEBwYXJhbSBpcnFMZXZlbCAtIGludGVycnVwdCBsZXZlbCB0byBlbmFibGUKICAqCiAgKiBFbmFibGVzIHRoZSBzcGVjaWZpZWQgaW50ZXJydXB0IGxldmVsCiAgKgpAQCAtMjg1LDcgKzI4NSw3IEBACiAgKgogICogQGJyaWVmIERpc2FibGVzIGFuIGludGVycnVwdCBsZXZlbAogICoKLSAqIEBwYXJhbSBpcnFMZXZlbCCtIGludGVycnVwdCBsZXZlbCB0byBkaXNhYmxlCisgKiBAcGFyYW0gaXJxTGV2ZWwgLSBpbnRlcnJ1cHQgbGV2ZWwgdG8gZGlzYWJsZQogICoKICAqIERpc2FibGVzIHRoZSBzcGVjaWZpZWQgaW50ZXJydXB0IGxldmVsCiAgKgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY3B1L2xoN2E0MHgvc3RhcnQuUyBiL2FyY2gvYXJtL2NwdS9saDdhNDB4L3N0YXJ0LlMKaW5kZXggMTRlOTg1NC4uNjJkZThiOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY3B1L2xoN2E0MHgvc3RhcnQuUworKysgYi9hcmNoL2FybS9jcHUvbGg3YTQweC9zdGFydC5TCkBAIC0xLDggKzEsOCBAQAogLyoKICAqICBhcm1ib290IC0gU3RhcnR1cCBDb2RlIGZvciBBUk05MjAgQ1BVLWNvcmUKICAqCi0gKiAgQ29weXJpZ2h0IChjKSAyMDAxCU1hcml1cyBHcvZnZXIgPG1hZ0BzeXNnby5kZT4KLSAqICBDb3B5cmlnaHQgKGMpIDIwMDIJQWxleCBa/HBrZSA8YXp1QHN5c2dvLmRlPgorICogIENvcHlyaWdodCAoYykgMjAwMQlNYXJpdXMgR3LDtmdlciA8bWFnQHN5c2dvLmRlPgorICogIENvcHlyaWdodCAoYykgMjAwMglBbGV4IFrDvHBrZSA8YXp1QHN5c2dvLmRlPgogICogIENvcHlyaWdodCAoYykgMjAwMglHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KICAqCiAgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY3B1L3NhMTEwMC9zdGFydC5TIGIvYXJjaC9hcm0vY3B1L3NhMTEwMC9zdGFydC5TCmluZGV4IDcyMjNjNDcuLjkyNTQ2ZDggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NwdS9zYTExMDAvc3RhcnQuUworKysgYi9hcmNoL2FybS9jcHUvc2ExMTAwL3N0YXJ0LlMKQEAgLTQsNyArNCw3IEBACiAgKiAgQ29weXJpZ2h0IChDKSAxOTk4CURhbiBNYWxlayA8ZG1hbGVrQGpsYy5uZXQ+CiAgKiAgQ29weXJpZ2h0IChDKSAxOTk5CU1hZ251cyBEYW1tIDxraWVyYXlwYzAxLnAueS5raWUuZXJhLmVyaWNzc29uLnNlPgogICogIENvcHlyaWdodCAoQykgMjAwMAlXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgotICogIENvcHlyaWdodCAoYykgMjAwMQlBbGV4IFr8cGtlIDxhenVAc3lzZ28uZGU+CisgKiAgQ29weXJpZ2h0IChjKSAyMDAxCUFsZXggWsO8cGtlIDxhenVAc3lzZ28uZGU+CiAgKgogICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICAqIHByb2plY3QuCmRpZmYgLS1naXQgYS9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcmNoLXMzYzI0eDAvczNjMjQwMC5oIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJjaC1zM2MyNHgwL3MzYzI0MDAuaAppbmRleCAyNjc4YmUxLi41YjkwNWY1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcmNoLXMzYzI0eDAvczNjMjQwMC5oCisrKyBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FyY2gtczNjMjR4MC9zM2MyNDAwLmgKQEAgLTEsNiArMSw2IEBACiAvKgogICogKEMpIENvcHlyaWdodCAyMDAzCi0gKiBEYXZpZCBN/GxsZXIgRUxTT0ZUIEFHIFN3aXR6ZXJsYW5kLiBkLm11ZWxsZXJAZWxzb2Z0LmNoCisgKiBEYXZpZCBNw7xsbGVyIEVMU09GVCBBRyBTd2l0emVybGFuZC4gZC5tdWVsbGVyQGVsc29mdC5jaAogICoKICAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCiAgKiBwcm9qZWN0LgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJjaC1zM2MyNHgwL3MzYzI0MTAuaCBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FyY2gtczNjMjR4MC9zM2MyNDEwLmgKaW5kZXggMDU0M2ZlMS4uNGZiZGYyMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJjaC1zM2MyNHgwL3MzYzI0MTAuaAorKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcmNoLXMzYzI0eDAvczNjMjQxMC5oCkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIChDKSBDb3B5cmlnaHQgMjAwMwotICogRGF2aWQgTfxsbGVyIEVMU09GVCBBRyBTd2l0emVybGFuZC4gZC5tdWVsbGVyQGVsc29mdC5jaAorICogRGF2aWQgTcO8bGxlciBFTFNPRlQgQUcgU3dpdHplcmxhbmQuIGQubXVlbGxlckBlbHNvZnQuY2gKICAqCiAgKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwogICogcHJvamVjdC4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FyY2gtczNjMjR4MC9zM2MyNHgwLmggYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcmNoLXMzYzI0eDAvczNjMjR4MC5oCmluZGV4IGY2MzRkMTEuLmNhOTc4YzkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FyY2gtczNjMjR4MC9zM2MyNHgwLmgKKysrIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJjaC1zM2MyNHgwL3MzYzI0eDAuaApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAoQykgQ29weXJpZ2h0IDIwMDMKLSAqIERhdmlkIE38bGxlciBFTFNPRlQgQUcgU3dpdHplcmxhbmQuIGQubXVlbGxlckBlbHNvZnQuY2gKKyAqIERhdmlkIE3DvGxsZXIgRUxTT0ZUIEFHIFN3aXR6ZXJsYW5kLiBkLm11ZWxsZXJAZWxzb2Z0LmNoCiAgKgogICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICAqIHByb2plY3QuCg==